home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
User's Choice Windows CD
/
User's Choice Windows CD (CMS Software)(1993).iso
/
utility2
/
wine02bx.zip
/
LISP
/
MODES
/
FORTRAN.ELC
< prev
next >
Wrap
Text File
|
1993-03-28
|
27KB
|
263 lines
;;; compiled by @win386 on Sat Mar 13 14:31:25 1993
;;; from file c:/src/lucid-19.4/lisp/modes/fortran.el
;;; emacs version 19.3 Lucid.
;;; bytecomp version 2.08; 27-aug-92.
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs18.
(if (and (boundp 'emacs-version)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19")))
(error "This file was compiled for Emacs19."))
(byte-code "└┬ç" ["version 1.28.7" fortran-mode-version nil] 1)
(defvar fortran-tab-mode-default nil "\
*Default tabbing/carriage control style for empty files in fortran mode.
t indicates that tab-digit style of continuation control will be used.
nil indicates that continuation lines are marked with a character in
column 6.")
(defvar fortran-do-indent 3 "\
*Extra indentation applied to `do' blocks.")
(defvar fortran-if-indent 3 "\
*Extra indentation applied to `if' blocks.")
(defvar fortran-structure-indent 3 "\
*Extra indentation applied to `structure', `union' and `map' blocks.")
(defvar fortran-continuation-indent 5 "\
*Extra indentation applied to `continuation' lines.")
(defvar fortran-comment-indent-style 'fixed "\
*nil forces comment lines not to be touched,
'fixed produces fixed comment indentation to fortran-comment-line-column
beyond fortran-minimum-statement-indent, and 'relative indents to current
fortran indentation plus fortran-comment-line-column.")
(defvar fortran-comment-line-column 0 "\
*Amount of extra indentation for text within full-line comments.")
(defvar comment-line-start nil "\
*Delimiter inserted to start new full-line comment.")
(defvar comment-line-start-skip nil "\
*Regexp to match the start of a full-line comment.")
(defvar fortran-minimum-statement-indent 6 "\
*Minimum indentation for fortran statements.")
(defvar fortran-comment-indent-char " " "\
*Single-character string inserted for Fortran comment indentation.
Normally a space.")
(defvar fortran-line-number-indent 1 "\
*Maximum indentation for Fortran line numbers.
5 means right-justify them within their five-column field.")
(defvar fortran-check-all-num-for-matching-do nil "\
*Non-nil causes all numbered lines to be treated as possible do-loop ends.")
(defvar fortran-blink-matching-if nil "\
*From a fortran `endif' statement, blink the matching `if' statement.")
(defvar fortran-continuation-string "$" "\
*Single-character string used for fortran continuation lines.
In fixed format continuation style, this character is inserted in
column 6 by \\[fortran-split-line] to begin a continuation line.
Also, if \\[fortran-indent-line] finds this at the beginning of a line, it will
convert the line into a continuation line of the appropriate style.
Normally $.")
(defvar fortran-comment-region "c$$$" "\
*String inserted by \\[fortran-comment-region] at start of each line in region.")
(defvar fortran-electric-line-number t "\
*Non-nil causes line number digits to be moved to the correct column as typed.")
(defvar fortran-startup-message t "\
*Non-nil displays a startup message when Fortran mode is first called.")
(defvar fortran-column-ruler " " "\
*String displayed above current line by \\[fortran-column-ruler].")
(defconst bug-fortran-mode "bug-fortran-mode@erl.mit.edu" "\
Address of mailing list for Fortran mode bugs.")
(defvar fortran-mode-syntax-table nil "\
Syntax table in use in Fortran mode buffers.")
(defvar fortran-analyze-depth 100 "\
Number of lines to scan to determine whether to use fixed or tab format style.")
(defvar fortran-break-before-delimiters t "\
Non-nil causes fortran-do-auto-fill breaks lines before delimeters.")
(byte-code "¼╤┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╚#ê┬╩╚#ê┬╦╚#ê┬╠╚#ê┬═╬#ê┬╧╬#ê┬╨╤#ê┬╥─#ê┬╙─#ê┬╘╒#ê┴ç" [fortran-mode-syntax-table make-syntax-table modify-syntax-entry 59 "w" 13 " " 43 "." 45 61 42 47 39 "\"" 34 92 "/" 46 95 10 ">"] 4)
(defvar fortran-mode-map nil "\
Keymap used in fortran mode.")
(byte-code "äù ┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╩#ê┬╦╠#ê┬═╬#ê┬╧╨#ê┬╤╥#ê┬╙╘#ê┬╒╓#ê┬╫╪#ê┬┘┌#ê┬█▄#ê┬▌▐#ê┬▀α#ê┬ßα#ê┬Γα#ê┬πα#ê┬Σα#ê┬σα#ê┬µα#ê┬τα#ê┬Φα#ê┬Θα#êΩδ!¼â∞++äL-.∩δ∞\"ê≡+±≥∞$ê≡+≤⌠∞$ê≡+⌡÷∞$ê≡+≈°∞$ê≡+∙·∞$ê≡+√ⁿ∞$ê≡+²■∞$ê≡+ ü@ ∞$ê≡+üA üB ∞$ê≡+üC üD ∞$ê≡+üE üF ∞$ê≡+üG üH ∞$ê≡+üI üJ ∞$ê≡+üK üL ∞$ê≡+üM üN ∞$ê≡+üO üP ∞$ê≡+üQ üR ∞$ê≡+üS üT ∞$ê≡+üU üV ∞$ê≡+üW üX ∞$ê≡+üY üZ ∞$ê≡+ü[ ü\\ ∞$ê≡+ü] ü^ ∞$ê≡+ü_ ü` ∞$ê≡+üa üb ∞$ê≡+üc üd ∞$ê≡+üe üf ∞$ê≡+üg üh ∞$ê≡+üi üj ∞$ê≡+ük ül ∞$ê≡+üm ün ∞$ê≡+üo üp ∞$ê≡+üq ür ∞$ê≡+üs üt ∞$ê≡+üu üv ∞$ê≡+üw üx ∞$ê≡+üy üz ∞$ê≡+ü{ ü| ∞$ê≡+ü} ü~ ∞$ê≡+ü üÇ ∞$ê≡+üü üé ∞$ê≡+üâ üä ∞$ê≡+üà üå ∞$ê≡+üç üê ∞$ê≡+üë üè ∞$ê≡+üï üî ∞$ê≡+üì üÄ ∞$ê≡+üÅ üÉ ∞$ê≡+üæ üÆ ∞$ê≡+üô üö ∞$ê≡+üò üû ∞$ê≡+üù üÿ ∞$ê≡+üÖ üÜ ∞$ê≡+ü¢ ü£ ∞$ê≡+ü¥ ü₧ ∞$ê≡+üƒ üá ∞$ê≡+üí üó ∞$ê≡+üú üñ ∞$ê.-)∞ç" [fortran-mode-map make-sparse-keymap define-key ";" fortran-abbrev-start ";" fortran-comment-region "" beginning-of-fortran-subprogram "" end-of-fortran-subprogram "" fortran-indent-comment "" mark-fortran-subprogram "\n" fortran-split-line "\n" fortran-reindent-then-newline-and-indent "" fortran-indent-subprogram "" fortran-window-create-momentarily "" fortran-column-ruler "" fortran-previous-statement "" fortran-next-statement " " fortran-indent-line "0" fortran-electric-line-number "1" "2" "3" "4" "5" "6" "7" "8" "9" boundp fortran-mode-abbrev-table nil abbrevs-changed ac define-abbrev-table define-abbrev ";au" "automatic" ";b" "byte" ";bD" "block data" ";ch" "character" ";cl" "close" ";c" "continue" ";cm" "common" ";cx" "complex" ";df" "define" ";di" "dimension" ";do" "double" ";dc" "double complex" ";dp" "double precision" ";dw" "do while" ";e" "else" ";ed" "enddo" ";el" "elseif" ";en" "endif" ";eq" "equivalence" ";eW" "endwhere" ";ex" "external" ";ey" "entry" ";f" "format" ";fa" ".false." ";fu" "function" ";g" "goto" ";im" "implicit" ";ib" "implicit byte" ";ic" "implicit complex" ";ich" "implicit character" ";ii" "implicit integer" ";il" "implicit logical" ";ir" "implicit real" ";inc" "include" ";in" "integer" ";intr" "intrinsic" ";l" "logical" ";n" "namelist" ";o" "open" ";pa" "parameter" ";pr" "program" ";ps" "pause" ";p" "print" ";rc" "record" ";re" "real" ";r" "read" ";rt" "return" ";rw" "rewind" ";s" "stop" ";sa" "save" ";st" "structure" ";sc" "static" ";su" "subroutine" ";tr" ".true." ";ty" "type" ";vo" "volatile" ";w" "write" ";wh" "where"] 5)
(fset 'fortran-mode #[nil "└ ê ½å┬├#ê╞╔\n!ê╦╠!ê═╦╬!ê╧╦╨!ê╤╦╥!ê╙╦╘!ê╒╦╓!ê╫╦╪!ê╞╦┘!ê═╦┌!ê═╦█!ê╞═▌▀ !êß\"π$╦σ!ê╦µ!ê╦τ!ê╦Φ!ê╦Θ!êσΩ !êδ∞!ç" [kill-all-local-variables fortran-startup-message message "Emacs Fortran mode %s. Bugs to %s" fortran-mode-version bug-fortran-mode nil fortran-mode-abbrev-table local-abbrev-table set-syntax-table fortran-mode-syntax-table make-local-variable fortran-break-before-delimiters t indent-line-function fortran-indent-line comment-indent-hook fortran-comment-hook comment-line-start-skip "^[Cc*]\\(\\([^ \n]\\)\\2\\2*\\)?[ ]*\\|^#.*" comment-line-start "c" comment-start-skip "![ ]*" comment-start require-final-newline abbrev-all-caps indent-tabs-mode abbrev-mode 72 fill-column use-local-map fortran-mode-map "Fortran" mode-name fortran-mode major-mode fortran-tab-mode fortran-comment-line-column fortran-minimum-statement-indent fortran-column-ruler fortran-tab-mode-string fortran-analyze-file-format run-hooks fortran-mode-hook] 4 "\
Major mode for editing fortran code.
Tab indents the current fortran line correctly.
`do' statements must not share a common `continue'.
Type `;?' or `;\\[help-command]' to display a list of built-in abbrevs for Fortran keywords.
Key definitions:
\\{fortran-mode-map}
Variables controlling indentation style and extra features:
comment-start
Normally nil in Fortran mode. If you want to use comments
starting with `!', set this to the string \"!\".
fortran-do-indent
Extra indentation within do blocks. (default 3)
fortran-if-indent
Extra indentation within if blocks. (default 3)
fortran-structure-indent
Extra indentation within structure, union and map blocks. (default 3)
fortran-continuation-indent
Extra indentation applied to continuation statements. (default 5)
fortran-comment-line-column
Amount of extra indentation for text within full-line comments. (default 0)
fortran-comment-indent-style
nil means don't change indentation of text in full-line comments,
fixed means indent that text at fortran-comment-line-column beyond
the value of fortran-minimum-statement-indent,
relative means indent at fortran-comment-line-column beyond the
indentation for a line of code.
(default 'fixed)
fortran-comment-indent-char
Single-character string be inserted instead of space for
full-line comment indentation. (default \" \")
fortran-minimum-statement-indent
Minimum indentation for fortran statements. (default 6)
fortran-line-number-indent
Maximum indentation for line numbers. A line number will get
less than this much indentation if necessary to avoid reaching
column 5. (default 1)
fortran-check-all-num-for-matching-do
Non-nil causes all numbered lines to be treated as possible 'continue'
statements. (default nil)
fortran-blink-matching-if
From a fortran `endif' statement, blink the matching `if' statement.
(default nil)
fortran-continuation-string
Single-character string to be inserted in column 5 of a continuation
line. (default \"$\")
fortran-comment-region
String inserted by \\[fortran-comment-region] at start of each line in
region. (default \"c$$$\")
fortran-electric-line-number
Non-nil causes line number digits to be moved to the correct column
as typed. (default t)
fortran-break-before-delimiters
Non-nil causes fortran-do-auto-fill breaks lines before delimeters.
(default t)
fortran-startup-message
Set to nil to inhibit message first time Fortran mode is used.
Turning on Fortran mode calls the value of the variable fortran-mode-hook
with no args, if that value is non-nil." nil])
(fset 'fortran-comment-hook #[nil "è└┴xêi┬\\])ç" [" " nil 1 comment-column] 2])
(fset 'fortran-indent-comment #[nil "└yê┴\n!½â├ ç─ ½ÿ½Æ└öbêi╞ U?¡ë╟ ê╞ jç╚ç ½ô┴╩!¼Ä╚ê╟ ê╞ jê cç┴╩!½à╟ ê¬ë└yê╦cê╠uêcê╬;½å└H¬é╨ iZ\"ç" [0 looking-at comment-line-start-skip fortran-indent-line find-comment-start-skip comment-start-skip fortran-comment-hook delete-horizontal-space nil comment-start "^[ ]*$" "\n" -1 comment-line-start insert-char fortran-comment-indent-char calculate-fortran-indent] 4 "\
Align or create comment on current line.
Existing comments of all types are recognized and aligned.
If the line has no comment, a side-by-side comment is inserted and aligned
if the value of comment-start is not nil.
Otherwise, a separate-line comment is inserted, on this line
or on a new line inserted before this line if this line is not blank." nil])
(fset 'fortran-comment-region #[(beg-region end-region arg) "└ ┴ ë┼ôêbê╟yê¼ò cê╩y╟U½╡`W½░ cê¬o╦ !═!½à`╟ò|ê╩y╟U½Æ`W½ì═!½o`╟ò|ê¬h)\nbê┼ëôê\n┼ëô*ç" [make-marker point-marker save-point end-region-mark end-region nil beg-region 0 arg fortran-comment-region 1 regexp-quote com looking-at] 4 "\
Comments every line in the region.
Puts fortran-comment-region at the beginning of every line in the region.
BEG-REGION and END-REGION are args which specify the region boundaries.
With non-nil ARG, uncomments the region." "*r\nP"])
(fset 'fortran-abbrev-start #[nil "└\ncê├ ë─U¼à U½ä╞ ¬ä ë)ç" [nil c last-command-char read-char 63 help-char fortran-abbrev-help unread-command-char] 2 "\
Typing \";\\[help-command]\" or \";?\" lists all the fortran abbrevs.
Any other key combination is executed normally." nil])
(fset 'fortran-abbrev-help #[nil "└┴!ê┬├!ê─╞\"ê└╟!ç" [message "Listing abbrev table..." require abbrevlist list-one-abbrev-table fortran-mode-abbrev-table "*Help*" "Listing abbrev table...done"] 3 "\
List the currently defined abbrevs in Fortran mode." nil])
(fset 'fortran-column-ruler #[nil "└ è┬yê├─ !┼─ !=½å╞yê`¬ü`)╞╟$ç" [momentary-string-display fortran-column-ruler 0 window-start selected-window window-point nil "Type SPC or any command to erase ruler."] 5 "\
Inserts a column ruler momentarily above current line, till next keystroke.
The ruler is defined by the value of fortran-column-ruler.
The key typed is executed unless it is SPC." nil])
(fset 'fortran-window-create #[nil "└┴┬Åç" [error (byte-code "└┬ ├ W½è─├ ┬ Z┼Z!ê╞╟!ê╚┼!ê╔╩╦\"ê╠═ !)ç" [2 window-min-width window-width screen-width enlarge-window-horizontally 1 split-window-horizontally 73 other-window switch-to-buffer " fortran-window-extra" t select-window previous-window] 3) ((error (byte-code "└┴!ê┬ç" [message "No room for fortran window." error] 2)))] 3 "\
Makes the window 72 columns wide.
See also fortran-window-create-momentarily." nil])
(fset 'fortran-window-create-momentarily #[(&optional arg) "½à┴U½â┬ïç├ ç" [arg 1 ((byte-code "└ ┴Ü?¡ô┬├!ê─ ë╞╟!Ü«äë)ç" [fortran-window-create error message "Type SPC to continue editing." read-char char string-to-char " " unread-command-char] 4)) fortran-window-create] 2 "\
Momentarily makes the window 72 columns wide.
Optional ARG non-nil and non-unity disables the momentary feature.
See also fortran-window-create." "p"])
(fset 'fortran-split-line #[nil "└ êè┴yê┬!)½ê─╞▒ê¬ò½ï╚cê╔╩ ╦\"ê¬å╠▒ê╬ ç" [delete-horizontal-space 0 looking-at comment-line-start-skip "\n" comment-line-start " " fortran-tab-mode "\n " insert-char fortran-numerical-continuation-char 1 "\n " fortran-continuation-string fortran-indent-line] 3 "\
Break line at point and insert continuation marker and alignment." nil])
(fset 'fortran-numerical-continuation-char #[nil "è└yê┴┬!½î`├\\f─Z┼ª╞\\¬ü╞)ç" [-1 looking-at " [1-9]" 1 48 9 49] 2 "\
Return a digit for tab-digit style of continution lines.
If, previous line is a tab-digit continuation line, returns that digit
plus one. Otherwise return 1. Zero not allowed."])
(fset 'delete-horizontal-regexp #[(chars) "┴xê`┴wê`|ç" [chars nil] 3 "\
Delete all characters in CHARS around point.
CHARS is like the inside of a [...] in a regular expression
except that ] is never special and quotes ^, - or ." "*s"])
(fset 'fortran-electric-line-number #[(arg) "¼â ¼ì½å┬├!!ç┬─!çi┼U½èè╞yê╟╚!)¼» iU½ûè╞yê╟╩!)½î╠=¼å═=½ôè╬╧è╞yê`)╨#)¼à╟╤!½å┬├!!ç╥╙xêcê╠ ç" [arg fortran-electric-line-number self-insert-command prefix-numeric-value 1 5 0 looking-at " " fortran-minimum-statement-indent " " last-command fortran-indent-line fortran-reindent-then-newline-and-indent re-search-backward "[^ 0-9]" t "[0-9]" " " nil last-command-char] 4 "\
Self insert, but if part of a Fortran line number indent it automatically.
Auto-indent does not happen if a numeric arg is used." "P"])
(fset 'beginning-of-fortran-subprogram #[nil "└┬yê├─┼╞#ê╟─!¡é╚y)ç" [t case-fold-search -2 re-search-backward "^[ 0-9]*end\\b[ ]*[^ =(a-z]" nil move looking-at 1] 4 "\
Moves point to the beginning of the current fortran subprogram." nil])
(fset 'end-of-fortran-subprogram #[nil "└┬yê├─┼╞#ê╟öbê┬y)ç" [t case-fold-search 1 re-search-forward "^[ 0-9]*end\\b[ ]*[^ =(a-z]" nil move 0] 4 "\
Moves point to the end of the current fortran subprogram." nil])
(fset 'mark-fortran-subprogram #[nil "└ ê┴`!ê┬ ç" [end-of-fortran-subprogram push-mark beginning-of-fortran-subprogram] 2 "\
Put mark at end of fortran subprogram, point at beginning.
The marks are pushed." nil])
(fset 'fortran-previous-statement #[nil "└ë├yê─!?¡Æ─╞╟!P!«ê─╔!«â─╩!╦y├Uë½£─!¼s─╠!¼n─╔!¼i─╩!¼d─╞P!¼\\ ½ê\n¼à╬╧!¬î ½ä╨ ¬à\n?¡ü╤*ç" [nil continue-test not-first-statement 0 looking-at comment-line-start-skip "[ ]*" regexp-quote fortran-continuation-string " [^ 0\n]" " [1-9]" -1 "[ ]*$" comment-start-skip message "Incomplete continuation statement." fortran-previous-statement first-statement] 4 "\
Moves point to beginning of the previous fortran statement.
Returns 'first-statement if that statement is the first
non-comment Fortran statement in the file, and nil otherwise." nil])
(fset 'fortran-next-statement #[nil "└┬yê├y┬U¡ém?ë½£─!¼o─╞!¼j─╟!¼e─╚!¼`─╔\nP!¼X ?¡ü╦)ç" [nil not-last-statement 0 1 looking-at comment-line-start-skip "[ ]*$" " [^ 0\n]" " [1-9]" "[ ]*" comment-start-skip last-statement] 3 "\
Moves point to beginning of the next fortran statement.
Returns `last-statement' if that statement is the last
non-comment Fortran statement in the file, and nil otherwise." nil])
(fset 'fortran-blink-matching-if #[nil "└┴ ┬`┬è╚yê╔┬wê╩╦!)ຠè╚U¼╤╠ ═=¼╦╩╬!¼╞╔┬wê╩╧!½»è╩╨!¼á┬└y╚U½Æ╩╥!¼à╩╙!½ê╩╘!ë½h)½å└Z)¬7╩╦!½2└\\ë¬+╚U¼ä╒¬û`W½Ä╓╚yê`┬ê`{P¬é`)½å├╫\"¬ëbê╪└!êb-ç" [1 window-start nil message endif-point matching-if top-of-window count 0 " 0-9" looking-at "end[ ]*if\\b" fortran-previous-statement first-statement "^[ 0-9]*end\\b[ ]*[^ =(a-z]" "if[ ]*(" ".*)[ ]*then\\b[ ]*[^ (=a-z0-9]" then-test " [^ 0\n]" " [1-9]" ".*then\\b[ ]*[^ (=a-z0-9]" "No matching if." "Matches " "%s" sit-for] 6 "\
From a fortran `endif' statement, blink the matching `if' statement."])
(fset 'fortran-indent-line #[nil "└ è┬yê ├ U½ì─┼`╞\\╟#½è╚ ¼å╔ !ê¬É┬yê╩!¼ç╠ ½â═ ê)i W½ä╬ !ê½ôè╨êi)V½êè╨ê╥ ê)¡é╙ )ç" [calculate-fortran-indent cfi 0 fortran-current-line-indentation re-search-forward "^[ ]*[0-9]+" 4 t fortran-line-number-indented-correctly-p fortran-indent-to-column looking-at comment-line-start-skip find-comment-start-skip fortran-indent-comment move-to-column auto-fill-hook nil fill-column fortran-do-auto-fill fortran-blink-matching-if] 4 "\
Indents current fortran line based on its contents and on previous lines." nil])
(fset 'fortran-reindent-then-newline-and-indent #[nil "½â┴ êè┬yê├─wê┼╞!¼Æ┼╟!¼ì┼╚!¼ê┼╔\n!!½â╦ ê)╠ ê╦ ç" [abbrev-mode expand-abbrev 0 " " nil looking-at "[0-9]" "end" "else" regexp-quote fortran-continuation-string fortran-indent-line newline] 3 "\
Reindent the current fortran line, insert a newline and indent the newline.
An abbrev before point is expanded if abbrev-mode is non-nil." nil])
(fset 'fortran-indent-subprogram #[nil "è└ ê┴┬!ê├`─ ┼#ê)┴╞!ç" [mark-fortran-subprogram message "Indenting subprogram..." indent-region mark nil "Indenting subprogram...done."] 4 "\
Properly indents the Fortran subprogram which contains point." nil])
(fset 'calculate-fortran-indent #[nil "└ë┴\nè╞ ë½à\néÿ `eU½ä\n¬â╟ ╚└wê╔╩!½¼╔╦!¼á└═y╬U½Æ╔╧!¼à╔╨!½ê╔╤!ë½h)½╩\\¬├╔╙!½ç\\¬╖╔╘!½ç\\¬½╔╒!½ç\\¬ƒ╔╓!½ç\\¬ô╔╪!½ç\\¬ç╔┌!½é\n)è╬yê╔█!äd╔!½¥▐=½ç\\¬ïα=½à\n\\╬éd╔ßΓ#!P!¼è╔╧!¼à╔╨!½ê$\\éd¼ %½É╔µ!½ïτ ½çZ¬δ╚└wê╔Φ!½çZ¬█╔╙!½çZ¬╧╔╘!½çZ¬├╔Θ!½çZ¬╖╔Ω!½ïτ ½çZ¬º╔δ!½çZ¬¢╔∞!½çZ¬Å╔┌!½è\nU¼àφε\n\"ê)\n],ç" [nil t fortran-minimum-statement-indent case-fold-search first-statement icol fortran-previous-statement fortran-current-line-indentation " 0-9" looking-at "if[ ]*(" ".*)[ ]*then\\b[ ]*[^ _$(=a-z0-9]" then-test 1 0 " [^ 0\n]" " [1-9]" ".*then\\b[ ]*[^ _$(=a-z0-9]" fortran-if-indent "\\(else\\|elseif\\)\\b" "\\(otherwise\\|else[ ]*where\\)\\b" "where.*(.*)[ ]*\n" "do\\b" fortran-do-indent "\\(structure\\|union\\|map\\)\\b[ ]*[^ =(a-z]" fortran-structure-indent "end\\b[ ]*[^ =(a-z]" "[ ]*$" comment-line-start-skip fortran-comment-indent-style relative fortran-comment-line-column fixed "[ ]*" regexp-quote fortran-continuation-string fortran-continuation-indent fortran-check-all-num-for-matching-do "[ ]*[0-9]+" fortran-check-for-matching-do "end[ ]*if\\b" "end[ ]*where\\b" "continue\\b" "end[ ]*do\\b" "end[ ]*\\(structure\\|union\\|map\\)\\b[ ]*[^ =(a-z]" message "Warning: `end' not in column %d. Probably an unclosed block."] 5 "\
Calculates the fortran indent column based on previous lines."])
(fset 'fortran-current-line-indentation #[nil "è└yê┴\n!½ô└òbê;½â¬â─!┼wê¬ö┴╞!¼à┴╟!½å└òbê¬ä╚┼wê╔┼wêi)ç" [0 looking-at comment-line-start-skip fortran-comment-indent-char char-to-string nil " [^ 0\n]" " [1-9]" "[ 0-9]" " "] 2 "\
Indentation of current line, ignoring Fortran line number or continuation.
This is the column position of the first non-whitespace character
aside from the line number and/or column 5/8 line-continuation character.
For comment lines, returns indentation of the first
non-indentation text within the comment."])
(fset 'fortran-indent-to-column #[(col) "è└yê┴\n!½ªà╓ ;½à└H¬ü└òbê╞╟╚!P!ê╔\niZ\")é╓ ┴╦!½ù½å└òbꬰ═╬!ê╧cêcê¬δ┴╤!½ÿ½Å═╥!ê╙cê╔╘ ╒\"ê¬╙╥uê¬╬╓ êm¼╚┴╫!!½£½Éjê═╒!ê╔╘ ╒\"ê¬â┘jê╒uê¬ñ┴┌!½ƒ┘└ò`ZZë└W½å▄▌!ê¬ç^jê)▀αwê╓ ê\njê!¡òΓ ¡æ└öbêiπ U?¡å╓ êπ j)ç" [0 looking-at comment-line-start-skip fortran-comment-indent-style fortran-comment-indent-char char delete-horizontal-regexp " " char-to-string insert-char col " [1-9]" fortran-tab-mode delete-char 2 " " fortran-continuation-string " [^ 0\n]" 6 " " fortran-numerical-continuation-char 1 delete-horizontal-space regexp-quote fortran-minimum-statement-indent 5 "[0-9]+" extra-space message "Warning: line number exceeds 5-digit limit." fortran-line-number-indent "0-9" nil comment-start-skip find-comment-start-skip fortran-comment-hook] 5 "\
Indents current line with spaces to column COL.
notes: 1) A non-zero/non-blank character in column 5 indicates a continuation
line, and this continuation character is retained on indentation;
2) If fortran-continuation-string is the first non-whitespace character,
this is a continuation line;
3) A non-continuation line which has a number as the first
non-whitespace character is a numbered line.
4) A tab followed by a digit indicates a continuation line."])
(fset 'fortran-line-number-indented-correctly-p #[nil "è└yê┴┬wêiX¡îiU«ç─┬wêi┼U)ç" [0 " " nil fortran-line-number-indent "0-9" 5] 2 "\
Return t if current line's line number is correctly indented.
Do not call if there is no line number."])
(fset 'fortran-check-for-matching-do #[nil "└┴è─yê┼╞!¡Ñ╟└wê╚└wê`╔└wê`{─yê╩╦╠═░└┴#¡à┼╬P!+ç" [nil t case-fold-search charnum 0 looking-at "[ ]*[0-9]+" " " "0" "0-9" re-search-backward "\\(^[ 0-9]*end\\b[ ]*[^ =(a-z]\\)\\|\\(^[ 0-9]*do[ ]*0*" "\\b\\)\\|\\(^[ ]*0*" "\\b\\)" "^[ 0-9]*do[ ]*0*"] 6 "\
When called from a numbered statement, returns t if matching 'do' is found.
Otherwise return a nil."])
(fset 'fortran-analyze-file-format #[nil "èebê└m¼ù┬├!¼Æ┬─!¼ì V¼ê╞yê T¬f┬├!½â╟¬É┬─!½â└¬ê½â╟¬ü└)ç" [0 i looking-at " " " " fortran-analyze-depth nil 1 fortran-tab-mode-default] 2 "\
Return 0 if Fixed format is used, 1 if Tab formatting is used.
Use fortran-tab-mode-default if no non-comment statements are found in the
file before the end or the first fortran-analyze-depth lines."])
(fset 'fortran-tab-mode #[(arg) "¼ä ?¬ìº½ç┬!├V¬é└ ë½à─ ê¬â┼ ê╞╟ !ç" [arg fortran-tab-mode prefix-numeric-value 0 fortran-setup-tab-format-style fortran-setup-fixed-format-style set-buffer-modified-p buffer-modified-p] 3 "\
Toggle fortran-tab-mode which indicates style of continuation lines.
With no argument, toggle on/off the tabbing mode of continuation lines.
If argument is a positive number, or non-nil if not a number, fortran-tab-mode
is turned on. Otherwise
If `fortran-tab-mode' is false" "P"])
(fset 'fortran-setup-tab-format-style #[nil "┴]├┼╞P╚ ╩╦ !ç" [tab-width 6 fortran-minimum-statement-indent t indent-tabs-mode "0 810 20 30 40 50 60 70\n" "[ ]| { | | | | | | | | | | | | |}\n" fortran-column-ruler " TAB-format" fortran-tab-mode-string set-buffer-modified-p buffer-modified-p] 2 "\
Set up fortran mode to use the TAB-digit mode of continuation lines.
Use the command \\[fortran-tab-mode] to toggle between this and fixed
format style."])
(fset 'fortran-setup-fixed-format-style #[nil "└┬─┼P╟╔╩ !ç" [6 fortran-minimum-statement-indent nil indent-tabs-mode "0 4 6 10 20 30 40 50 60 70\n" "[ ]|{ | | | | | | | | | | | | |}\n" fortran-column-ruler " Fixed-format" fortran-tab-mode-string set-buffer-modified-p buffer-modified-p] 2 "\
Set up fortran mode to use the column 6 mode of continuation lines.
Use the command \\[fortran-tab-mode] to toggle between this and tab
character format style."])
(byte-code "└ ₧¼ä┬ B└ç" [fortran-tab-mode-string minor-mode-alist (fortran-tab-mode-string fortran-tab-mode-string)] 2)
(fset 'find-comment-start-skip #[nil "└ëè├è└ê`)┼#)¡¿╞ö╞ò╟╞ö!½ëè bê╚ )¬ô\nbê├è└ê`)┼#ê╞òbê┼*ç" [nil save-match-end save-match-beginning re-search-forward comment-start-skip t 0 is-in-fortran-string-p find-comment-start-skip] 4 "\
Move to past `comment-start-skip' found on current line.
Return t if `comment-start-skip' found, nil if not." nil])
(fset 'is-in-fortran-string-p #[(pos) "└è\nbê├ ê─ ê`\nW½¿┼╞!½ê╟ò╚\\bê¬n ¼ï┼ !½à╚yê¬`┼╩!½â ?╚uê¬S) )ç" [nil is-in-fortran-string pos fortran-previous-statement fortran-next-statement looking-at "^ " 0 1 comment-start-skip "'"] 2 "\
t if POS (a buffer position) is inside a standard Fortran string.
Fortran strings are delimeted by apostrophes ('). Quote-Escape-sequences
(\\'), strings delimited by \" and detection of syntax-errors
(unbalanced quotes) are NOT supported."])
(fset 'fortran-auto-fill-mode #[(arg) "¼ä ?¬à┬!├V¡ü─ë┼╞ !êç" [arg auto-fill-hook prefix-numeric-value 0 fortran-indent-line set-buffer-modified-p buffer-modified-p] 3 "\
Toggle fortran-auto-fill mode.
With arg, turn fortran-auto-fill mode on iff arg is positive.
In fortran-auto-fill mode, inserting a space at a column beyond fill-column
automatically breaks the line at a previous space." "P"])
(byte-code "└┴Mê┬├Mê─┼!ç" [fortran-do-auto-fill #[nil "`è┴yê`)è├ê`)ë\n┼ \\^è\nbê╟!?¡₧╔\n!ê╦`!½ôè╠═\n╬#ê½â`¬é`T)¬ü├)ë«╚è╔\nT!ê╤├xê`TX½É╔\nT!ê╥╙╬#¼â\nbên½ê╥╘╬#ê¬æ╒uê╟╓!½à╫uê¬ä╪├xê½â`¬é`T)è╠\n╬#¡Å╦`!?¡ë█├xêi\nTW)«çèbên)?¡¼èbêi)\nTV½êbê▄ ¬ùèèbêi)▌ \\V¡åbê▄ ).ç" [opoint 0 bol nil eol fortran-current-line-indentation bos looking-at comment-line-start-skip move-to-column fill-column is-in-fortran-string-p re-search-backward "[^']'[^']" t fortran-break-before-delimiters quote "^ \n,'+-/*)=" re-search-forward "[ \n,'+-/*)=]" "[ ]" -1 "'" 1 " *" fill-point comment-start-skip " " fortran-break-line calculate-fortran-indent fortran-continuation-indent] 5 nil nil] fortran-break-line #[nil "`è└yê`)è┴ê`)┴è½ô╟ ½Å╚╔#ê`{`|ê)è╩yê╦╠!«â╦═!)½Æ╩yê╬ ê╧╨!ê╤ ê╥ ê¬â╙ ê\n¡æèbê┴ê╤ ê╘ jê\nc),ç" [0 nil comment-string eol bol opoint comment-start-skip find-comment-start-skip re-search-backward t 1 looking-at " [^ 0\n]" " [1-9]" delete-indentation delete-char 2 delete-horizontal-space fortran-do-auto-fill fortran-split-line fortran-comment-hook] 4] provide fortran] 2)